<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
   <!--特殊的运算操作-->

<script>
   /*
      ==
        忽略类型，比较内容
        底层实现  先判断类型，类型不一致，进行类型转换  再进行比较
      ===
        先比较类型，再比较内容
        底层实现 先判断类型 类型不一致，返回false 一致 继续比较
    */
   // ==  === 的区别   == 只比较内容  === 先比较类型 再比较内容
    var age = 21;
    var age2 = 21;
    var age3 = "21";

   console.log("age==age2:"+(age==age2));//true
   console.log("age==age3:"+(age==age3));//true

   console.log("age===age2:"+(age===age2));//true
   console.log("age===age3:"+(age===age3));//false

    /*
      +  如果左右两边是 数值 就进行数值计算
      +  如果左右两边出现了 字符串 就自动转换成字符串拼接行为！！

        - * / 法运算  字符串竟然可以参与运算
        为什么字符串 - * / % 可以运算
          是因为  当字符串 连接住这些运算符的时候  会调用底层的一个parseInt()方法
          会把 字符串 自动的转换成 数值 参与运算。
          但是如果字符串无法转换成数值就 会变成 NaN  不是一个数字
        NaN

        boolean类型 也能变成 数字
           true  1
           false 0

     */
    var str = "20abc";
    // alert(str+1);
    console.log(str/2);
   var p = parseInt(str);
    console.log(typeof p);

    var flag = true;
    console.log(flag+0);
</script>
</body>
</html>